package com.yqg.manage.service;

import com.yqg.manage.entity.RoleMenu;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * IRoleMenuService 服务类
 * @author zxf
 * @since 2025-09-16
 */
public interface IRoleMenuService extends IService<RoleMenu> {

    /**
     * 根据单位ID最大菜单ID
     * @param unitId 单位ID
     * @return ID列表
     */
    List<Long> getDataByUnitId(Long unitId);

    /**
     * 根据单位ID和角色ID返回实际菜单ID
     * @param roleId 角色ID
     * @param unitId 单位ID
     * @return ID列表
     */
    List<Long> getDataByRoleIdAndUnitId(Long roleId, Long unitId);

    /**
     * 更新单位角色菜单
     * @param menuIds 新菜单
     * @param unitId 单位ID
     * @param roleId 角色ID
     * @return 是否正常更新
     */
    public boolean saveOrUpdateRoleMenu(List<Long> menuIds, Long unitId,Long roleId);

    /**
     * 删除单位最大权限同时级联删除单位对应的权限
     * @param toDeleteRoleMenuIds 删除的菜单ID
     * @param unitId 删除的单位ID
     */
    Boolean removeMenuIdsByUnitId(List<Long> toDeleteRoleMenuIds, Long unitId);
}
